package com.edu.mapper;

import com.edu.bean.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface StudentMapper {

    /*
    *   1.参数是一个 是一个简单型(8中基本类型 包装类 String Date)
    * */

    Student selectStudentById(@Param("sId") int stuId);

    /*
    *   2.参数是  一个对象是
    *
    */
    int insertStudent(@Param("stu") Student student);

    /*
    *   3.参数是 多个简单型
    *       根据姓名 和 性别来查找
    * */
    List<Student> selectStudent2(@Param("stuName")String stuName,@Param("stuSex") String stuSex);

    /*
    *  4  参数是 对象和 简单型的混合
    *       多条件查询 某个年龄段的用户
    *           arg0 arg1 arg2  param1 param2 param3
    *
    * */

    List<Student> selectStudent3(@Param("stu") Student stu,@Param("minAge") int minAge,@Param("maxAge") int maxAge);

    /*
    *   5 参数是数组 ：
    *       查询 指定的一些年龄的用户，要求 把查询的年龄 放在 一个数组里
    *
    * */
    List<Student> selectStudent4(@Param("ages") int[] ages);

    /*
     *   5 参数是集合 ：
     *       查询 指定的一些年龄的用户，要求 把查询的年龄 放在 一个数组里
     *
     * */
    List<Student> selectStudent5(@Param("ages") List<Integer> ages);

    /*
    *   6. 参数是 Map
    *        需要根据 性别 和 最小年龄 最大年龄 进行查询
    *
    * */
    List<Student> selectStudent6(@Param("canshu") Map<String,Object> params);
}
